Національний технічний університет України
«Київський політехнічний інститут імені Ігоря Сікорського»
Теплоенергетичний факультет
Кафедра автоматизації проектування енергетичних процесів і систем
ЗВІТ
з лабораторної роботи № 3
з дисципліни «Програмування алгоритмічних структур»
Тема «Програмування циклічних алгоритмів»
Варіант-15
Завдання на лабораторну роботу.
1. Розробити блок-схеми алгоритмів і написати програми мовою Java із застосуванням операторів циклів for, while, do while для розв’язання завдань, поданих в табл. 1 – 3 відповідно до індивідуального варіанта. Варіант обрати за списком групи.
2. Розробити програмні проекти в середовищі Intellij IDEA для реалізації написаних програм. Перевірити результати обчислень альтернативними розрахунками (наприклад, Excel, калькулятор, тощо).
3. Зробити Звіт з лабораторної роботи та вчасно надіслати викладачу на перевірку
Завдання 1:
/
Завдання 2:
/
Завдання 3:
/
Короткий опис рішення завдань:
Завдання №1.
У завданні 1 потрібно було розробити програму, яка допомогою заданих функцій, заданого кроку h змінної х, та обмеження значень змінної х для цієї функції досліджуються самі задані функції, і їхнє дослідження має виводитись у вигляді таблиці. Дану програму було розроблено у одному методі task1 типу void. У сам метод передаються мінімальне та максимальне значення х та крок цієї змінної. Дві функції досліджуються за допомогою циклу for() , у якому поступово із заданим кроком збільшується змінна х і підставляється у задані функції. Усі результати виводяться за допомогою форматованого виводу у вигляді таблиці у консоль.
Завдання №2.
Завдання 2 було виконане у двох методах task21 i task22. У методі task21 організовано обрахунок та виведення к-сті елементів послідовності, що діляться на 5 і не діляться на 7. У методі task22 організовано обчислення суми цих елементів. У методі main організовано вивід самої послідовності, виведення к-сті елементів, та їхня сума.
Завдання №3
Для виконання завдання 3 було створено 3 методи: task31, task32, task33. У методі task33 розроблено обчислення факторіалу заданого у нього числа, він був розроблений для його використання у методах task31, task32. У методі task31 організовано обчислення суми данного у завданні ряду. У методі task32 організовано обчислення добутку усіх членів даного у завданні ряду. У методі main організовано введення та виведення усіх даних що використовуються та визначаються у цих методах. У методах були використані різні цикли( for(), while()).
Блок-схема рішення завдання 3:
Task33() // Знаходження факторіалу числа
/
task31() // Обчислення суми членів ряду
/
task32() // Обчислення добутку членів ряду
/
Копія коду:
package com.company;
import static java.lang.Math.*;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
// ---- Task1 ----
double min = 4.5;
double max = 18.5;
double h = 0.4;
task1(min,max,h);
System.out.printf("\n");
// ---- Task2 ----
int[] arr1 = {2,5,7,9,11,13,15,17,19,21,23,25,27,29,31,33,35}; // y = 2n+1
int[] arr2 = {13,5,7,14,15,35,86,60,23,21,54,76,45}; // rand natural numbers
System.out.printf("-------- Task 2 -------\n");
System.out.printf("Послідовність: {");
for(int i = 0 ; i < arr1.length; i++) {
System.out.printf("%d, ", arr1[i]);
}
System.out.printf("}\n");
System.out.printf("К-сть елементів послідовності, що діляться на 5 і не діляться на 7: %d\n",task21(arr1));
System.out.printf("Сума цих елементів: %d\n",task22(arr1));
System.out.printf("\n\n");
System.out.printf("Послідовність: {");
for(int i = 0 ; i < arr2.length; i++) {
System.out.printf("%d, ", arr2[i]);
}
System.out.printf("}\n");
System.out.printf("К-сть елементів послідовності, що діляться на 5 і не діляться на 7: %d\n",task21(arr2));
System.out.printf("Сума ц...